package com.xuecheng.media.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.media.model.po.MediaProcess;

import java.util.List;

/**
 * @author luhao
 * @ClassName MediaProcessService.java
 * @Description 媒资处理服务
 * @createTime 2023/7/26
 */
public interface MediaProcessService extends IService<MediaProcess> {
    /**
     * 查询媒资处理信息
     *
     * @param shardingIndex 分片索引
     * @param shardingTotal 分片总数
     * @param total         总数
     * @return 待处理媒资数据
     */
    List<MediaProcess> getListByShardIndex(Integer shardingIndex, Integer shardingTotal, Integer total);

    /**
     * 开启一个任务
     * @param id 任务id
     * @return 是否成功
     */
    boolean startTaskById(Long id);

    /**
     * 保存处理后的信息
     * @param taskId 任务id
     * @param status 状态
     * @param fileId 文件Id
     * @param url 文件url
     * @param errorMsg 错误信息
     * @param fileName 文件名称
     * @return 是否出处理成功
     */
    boolean saveProcessFinishStatus(Long taskId, String status, String fileId,
                                    String url, String errorMsg,String fileName);
}
